"""
数据修改与转换功能演示示例

该示例展示了Table类的列添加、重命名、类型转换、插入和删除等数据修改功能。
"""
from ..dataframe import Table

# 数据修改与转换演示
print("===== 数据修改与转换功能演示 =====")

table = Table()
table.load_from_csv('../demo_data.csv')
print("原始数据前3行:\n", table.head(3))

# 添加新列（使用默认值）
table.add_column('bonus', default=0)
print("使用默认值添加'bonus'列后的数据:\n", table.head(3))

# 插入列（使用默认值）
table.insert(2, 'position', default='Unassigned')
print("使用默认值插入'position'列后的数据:\n", table.head(3))

# 重命名列
table.rename_columns({'salary': 'monthly_salary', 'bonus': 'annual_bonus'})
print("重命名列后的数据:\n", table.head(3))

# 转换数据类型
table.convert_column_type('age', float)
print("转换'age'列为float类型后的值:\n", table.get_column('age'))

# 插入列
table.insert(2, 'position', ['Engineer', 'Specialist', 'Senior Engineer', 'Manager', 'Specialist', 'Senior Engineer', 'Director', 'Engineer', 'Specialist', 'Senior Engineer', 'Engineer'])
print("插入'position'列后的数据:\n", table.head(3))

# 添加新行
table.add_row({
    'name': 'New Employee',
    'age': 30,
    'department': 'Engineering',
    'salary': 75000,
    'hire_date': '2023-01-15',
    'is_active': True,
    'position': 'Engineer',
    'bonus': 5000
})
print("添加新行后的数据:\n", table.tail())

# 删除列
table.remove_column('is_active')
print("删除'is_active'列后的数据:\n", table.head(3))